.pe-date-calendar {
    width: 322px;
    background-color: var(--pe-color-white);
    color: var(--pe-color-text);

    .pe-date-calendar-header {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px;
        font-size: var(--pe-font-size-default);

        .pe-date-calendar-flex {
            display: flex;
            align-items: center;

            .pe-date-calendar-ym {
                cursor: pointer;
                margin: 5px;
                font-weight: bold;

                &:hover {
                    color: var(--pe-color-primary);
                }
            }
        }

        .pe-icon {
            cursor: pointer;

            &:hover {
                color: var(--pe-color-primary);
            }
        }
    }

    .pe-date-calendar-body {
        padding: 15px;

        .pe-date-calendar-table {
            width: 100%;
            border-collapse: collapse;
            font-size: var(--pe-font-size-default);
            color: var(--pe-color-text);

            tr {
                display: flex;
                justify-content: space-between;
                align-items: center;
                flex-wrap: wrap;
                width: 100%;
                height: var(--pe-default-height);
            }

            td {
                width: var(--pe-default-height);
                height: var(--pe-default-height);
                text-align: center;
            }

            .pe-date-calendar-thead {
                tr {
                    border-bottom: 1px solid var(--pe-color-border);
                }
            }

            .pe-date-calendar-tbody {
                td {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    color: var(--pe-color-text);
                    cursor: pointer;

                    &:hover {
                        color: var(--pe-color-primary);
                    }

                    .pe-date-calendar-day {
                        display: flex;
                        justify-content: center;
                        align-items: center;
                        width: 24px;
                        height: 24px;
                        border-radius: 12px;
                    }
                }

                .pe-date-calendar-not {
                    color: var(--pe-color-placeholder);
                }

                .pe-date-calendar-active {
                    .pe-date-calendar-day {
                        background-color: var(--pe-color-primary);
                        color: var(--pe-color-white);
                        font-weight: bold;
                    }
                }
            }
        }

        .pe-date-calendar-item {
            width: 100%;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;

            .pe-item {
                width: 25%;
                height: 50px;
                display: flex;
                justify-content: center;
                align-items: center;
                font-weight: bold;
                color: var(--pe-color-text);
                cursor: pointer;

                &:hover {
                    color: var(--pe-color-primary);
                }
            }

            .pe-active {
                color: var(--pe-color-primary);
            }
        }
    }
}